package controllers

import (
	beego "github.com/beego/beego/v2/server/web"
)

// 定义一个控制器结构体
// 我们一般一个模块定义一个控制器
type MainController struct {
	// 嵌套beego基础控制器，在go语言中嵌套struct，就类似继承的概念。
	// 这里就相当于，继承了beego.Controller的方法和属性。
	beego.Controller
}

// 覆盖beego.Controller的Get方法，用于处理RESTful请求中的get请求
// beego.Controller默认支持多种RESTful方法，例如：Post、Put、Delete等等
func (c *MainController) Get() {
	// Data是继承过来的属性，是map类型，可以保存任意类型数据，主要用于保存请求响应数据
	// 我们可以通过Data将参数，传入视图模板文件。
	// 这里设置了两个参数
	c.Data["Website"] = "tizi365.com"
	c.Data["Email"] = "tizi365@demo.com"

	// 设置需要渲染的模板文件，框架会去views目录查找这个模板文件
	c.TplName = "index.tpl"
	//c.TplName = "hello.tpl"
}
